package string;

import java.util.Arrays;

/**
 * 字符串支持正则表达式方法二：
 * String[] spilt(String regex)
 * 将当前字符串按照满足正则表达式的部分进行拆分，返回的数组中包含被拆分出来的多有部分
 * "."在正则表达式中表示任意字符，因此瑞国直接按照“。”拆分，则得不到任何内容，需要”\\。“转义
 */
public class SplitDemo {
    public static void main(String[] args) {
        String str ="abc123sad456sdsa12";
        //按照数字部分进行拆分，得到所有的字母部分
        String[] data = str.split("[0-9]+");
        System.out.println(data.length);
        System.out.println(Arrays.toString(data));
        String[] a =str.split("[a-z]+");
        System.out.println(Arrays.toString(a));
        System.out.println(a.length);
        str = "1,2,3,4,5,6,7";
        data = str.split(",");
        System.out.println(data.length);
        System.out.println(Arrays.toString(data));

        //当连续两个可拆分项时，他们之间会拆分出一个空字符串
        //字符串一上来就遇到了可拆分项时，那么会先拆出一个空字符串
        //末尾的拆分项不会拆除空字符串

        str = ",1,2,3,,4,5,6,,,,,,,kj";
        data = str.split(",");
        System.out.println(data.length);
        System.out.println(Arrays.toString(data));

        str = ",1,2,3,,4,5,6,,,,,,,kj";
        data = str.split("\\.");
        System.out.println(data.length);
        System.out.println(Arrays.toString(data));

    }
}
